Adding some more judges, here and there.
[andmenj-acm.git] / UVa / 10137 - The Trip / p10137.dpr
blob009ed9d2fe2f626c3b97ac1543e53bbaf3ab2de9
1 program p10137;\r
2 \r
3 {$APPTYPE CONSOLE}\r
4 \r
5 uses\r
6   SysUtils, Math;\r
7 \r
8 function isInt(d : double) : boolean;\r
9 begin\r
10 result := (floor(d) = d);\r
11 end;\r
13 procedure printFloat(d : double);\r
14 var\r
15   ReplaceFlags : TReplaceFlags;\r
16 begin\r
17   writeln(StringReplace(format('$%f', [d]), ',', '.' ReplaceFlags));\r
18   //writeln(StringReplace(formatFloat('$#0.00', d), ',', '.', ReplaceFlags));\r
19 end;\r
21 var\r
22   s : Array[0..1001] of double;\r
23   n, i : integer;\r
24   promedio, mas, menos : double;\r
25   redondee : boolean;\r
26   ReplaceFlags : TReplaceFlags;\r
28 begin\r
29   //reset(input, 'inside.txt');\r
30   //reset(output, 'outside.txt');\r
31   read(n);\r
32   while n <> 0 do\r
33     begin\r
34     promedio := 0;\r
35     mas := 0;\r
36     menos := 0;\r
37     for i:=0 to n-1 do\r
38       begin\r
39       read(s[i]);\r
40       promedio := promedio + s[i];\r
41       end;\r
42     promedio := promedio / n;\r
43     if (isInt(promedio * 100)) then\r
44       redondee := false\r
45     else\r
46       begin\r
47       redondee := true;\r
48       promedio := floor(promedio * 100) / 100;\r
49       end;\r
50     //printFloat(promedio); writeLn('(Redondeado hacia abajo)');\r
51     for i:=0 to n-1 do\r
52       begin\r
53       if s[i] < promedio then\r
54         menos := menos + abs(s[i] - promedio)\r
55       else\r
56         if s[i] > promedio then\r
57           begin\r
58           if redondee then\r
59             mas := mas + abs(s[i] - (promedio + 0.01))\r
60           else\r
61             mas := mas + abs(s[i] - promedio);\r
62           end;\r
63       end;\r
64     if mas > menos then\r
65       printFloat(mas)\r
66     else\r
67       printFloat(menos);\r
68     read(n);\r
69     end;\r
70 end.\r